
#ifndef NEXTMAPLODER_H
#define NEXTMAPLODER_H
#include "maploader.h"
#include<QObject>
#include<QFile>
#include<QGraphicsScene>
#include<QDebug>
#include<QJsonDocument>
#include<QJsonArray>
#include<QJsonObject>
#include<QGraphicsItem>
class nextmaploder :public maploader
{
    Q_OBJECT

public:
    void applerestart();

   // QVector<QPointF>*damageappleonint=nullptr;
    //QVector<QPointF>*applepoint=nullptr;
    explicit nextmaploder(QGraphicsScene* scene);
    void extracted(QJsonArray &layers);
    void loadLevel(const QString &filePath);
private:
    QPixmap tilesetImage;
    QPixmap tilesetImage2;
    // 图集图片
    int firstGid;          // 起始全局 ID（通常为 1）
    int tileWidth;          // 图块宽度（32）
    int tileHeight;         // 图块高度（32）
    int margin;             // 边距（0）
    int spacing;            // 间距（0）
    int columns;
private:
    void parseTileLayer(const QJsonObject &layer);//成功实现对图层中terrian类型的加载
    void parseObjectLayer(const QJsonObject &layer);//成功实现了对对象层中players的出生位置的加载
    QGraphicsScene *m_scene; // 游戏场景指针
    QPixmap getTileTexture(int gid);
signals:
};


#endif // NEXTMAPLODER_H
